//*******************************************************************************
// COPYRIGHT NOTES
// ---------------
// This is a sample for BCGControlBar Library Professional Edition
// Copyright (C) 1998-2016 BCGSoft Ltd.
// All rights reserved.
//
// This source code can be used, distributed or modified
// only under terms and conditions 
// of the accompanying license agreement.
//*******************************************************************************
//
// MainFrm.h : interface of the CMainFrame class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_MAINFRM_H__CA7FBBF0_F2F8_4379_9D8F_BB2137D22B03__INCLUDED_)
#define AFX_MAINFRM_H__CA7FBBF0_F2F8_4379_9D8F_BB2137D22B03__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "WorkspaceBar.h"

#define CFrameWnd CBCGPFrameWnd

class CMainFrame : public CFrameWnd
{
protected: // create from serialization only
	CMainFrame();
	DECLARE_DYNCREATE(CMainFrame)

// Attributes
public:
	void SelectView(int nID);

	int GetCurrentViewType () const
	{
		return m_nCurrType;
	}

	CWorkspaceBar& GetWorkspace()
	{
		return m_wndWorkSpace;
	}

	int	GetColorTheme() const
	{
		return m_nColorTheme;
	}

	BOOL IsDarkTheme() const
	{
		return m_bIsDarkTheme;
	}

	void UpdateCurrentView (int nViewType);

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CMainFrame)
	public:
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	//}}AFX_VIRTUAL

	virtual BOOL OnShowPopupMenu(CBCGPPopupMenu* pMenuPopup);

// Implementation
public:
	virtual ~CMainFrame();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:  // control bar embedded members
	CBCGPStatusBar			m_wndStatusBar;
	CBCGPExplorerToolBar	m_wndToolBar;
	CWorkspaceBar			m_wndWorkSpace;

// Generated message map functions
protected:
	//{{AFX_MSG(CMainFrame)
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnViewBack();
	afx_msg void OnUpdateViewBack(CCmdUI* pCmdUI);
	afx_msg void OnViewForward();
	afx_msg void OnUpdateViewForward(CCmdUI* pCmdUI);
	//}}AFX_MSG
	afx_msg void OnColorThemeCombo();
	afx_msg void OnAnimationStyleCombo();
	afx_msg LRESULT OnRedraw(WPARAM, LPARAM);
	afx_msg void OnDarkTheme();
	afx_msg void OnUpdateDarkTheme(CCmdUI* pCmdUI);
	DECLARE_MESSAGE_MAP()

	BOOL CreateViews(CCreateContext* pContext);
	CView* GetView(int nID);

	int						m_nCurrType;
	CArray<CView*, CView*>	m_arViews;
	int						m_nColorTheme;
	BOOL					m_bIsDarkTheme;
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_MAINFRM_H__CA7FBBF0_F2F8_4379_9D8F_BB2137D22B03__INCLUDED_)
